package collectionday02;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class SortPoint {
    public static void main(String[] args) {
        List<Point> list = new ArrayList<>();
        list.add(new Point(53,635));
        list.add(new Point(22,63));
        list.add(new Point(68,71));
        list.add(new Point(8,35));
        list.add(new Point(100,615));
        list.add(new Point(65,8774));
        System.out.println("list原始数据："+list);//list原始数据：[(53,635), (22,63), (68,71), (8,35), (100,615), (65,8774)]
       /*
        Collections.sort(list, new Comparator<Point>() {
            @Override
            public int compare(Point o1, Point o2) {
                int len1 = o1.getX()*o1.getX() +o1.getY()*o1.getY();
                int len2 = o2.getX()*o2.getY() +o2.getY()*o2.getY();
                return len1 - len2;//勾股定理距离原点的距离
            }
        });
        */

        //Lambda表达式写法
        list.sort((o1,o2)->{
            int len1 = o1.getX()*o1.getX() +o1.getY()*o1.getY();
            int len2 = o2.getX()*o2.getY() +o2.getY()*o2.getY();
            return len1-len2;
        });


        System.out.println("list排序后数据："+list);//list排序后数据：[(8,35), (22,63), (68,71), (100,615), (53,635), (65,8774)]
        System.out.println(5<<2);
    }

}
